package com.yuba.front.domain.bo;

import com.yuba.common.core.validate.AddGroup;
import com.yuba.common.core.validate.EditGroup;
import com.yuba.common.mybatis.core.domain.BaseEntity;
import com.yuba.front.domain.FishSite;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * 钓场业务对象 fish_site
 *
 * @author modakai
 * @date 2024-12-11
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = FishSite.class, reverseConvertGenerate = false)
public class FishSiteBo extends BaseEntity {

    /**
     * 主键
     */
    @NotNull(message = "主键不能为空", groups = { EditGroup.class })
    private Long fishSiteId;

    /**
     * 钓场名称
     */
    @NotBlank(message = "钓场名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String name;

    /**
     * 地址
     */
    @NotBlank(message = "地址不能为空", groups = { AddGroup.class, EditGroup.class })
    private String address;

    /**
     * 省份
     */
    @NotBlank(message = "省份不能为空", groups = { AddGroup.class, EditGroup.class })
    private String province;

    /**
     * 城市
     */
    @NotBlank(message = "城市不能为空", groups = { AddGroup.class, EditGroup.class })
    private String city;

    /**
     * 经度
     */
    @NotNull(message = "经度不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal latitude;

    /**
     * 纬度
     */
    @NotNull(message = "纬度不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal longitude;

    /**
     * 收费类型
     */
    @NotBlank(message = "收费类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String feeType;

    /**
     * 收费金额
     */
//    @NotNull(message = "收费金额不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long amount;

    /**
     * 描述
     */
//    @NotBlank(message = "描述不能为空", groups = { AddGroup.class, EditGroup.class })
    private String description;

    /**
     * 图片url
     */
//    @NotBlank(message = "图片url不能为空", groups = { AddGroup.class, EditGroup.class })
    private String imageUrl;

    /**
     * 是否公开; Y 公开，N 不公开
     */
    @NotBlank(message = "是否公开 不公开不能为空", groups = { AddGroup.class, EditGroup.class })
    private String publicFlag;

    /**
     * 用户id
     */
//    @NotNull(message = "用户id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long userId;


}
